Soru & Cevap

random kullanımı hakkında ...

16.11.2015 - 08:31

merhaba arkadaşlar bilgi yarışması yapıyorum random kullanarak rastgele soru soruyorum ekrana geliyor fakat  ara sıra aynı soru geliyor bunu önlemek için gelen sorunun tekrar gelmemesi gerekiyor nasıl bir kod yazmam gerekiyor bir sorumda şu şuan 50 sorum var 50 side rastgele ekrana geliyor ama ben bunun 50 soru içinden 10 unu random seçmesini ve 10 soruyu bildikten sonra tebrikler yaraşmayı kazandınız ekrananına nasıl yollarım teşekkürler.

37 Görüntülenme

5 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user BSDEV
BSDEV
21.11.2015 - 02:01
Suan deneme imkanim yok ama tesekkur ederim en kisa zamanda deneyecegm insallah
Profile picture for user coderiki
coderiki
20.11.2015 - 09:54

Soru numaralarını diziye değer  olarak ata ve count ile dizi sayısını alıp o sayılar arasında random çek. Çekilen random sayıyı diziden sil böylece her random da azalma olur

Profile picture for user BSDEV
BSDEV
17.11.2015 - 11:18
Teşekkür ederim arkadaşlar denicem umarım olur
picture-64810-1447207316.jpg
furkancelikci
17.11.2015 - 02:44


List<int> Liste = new List<int>();
 Random rand = new Random();
 for (int i = 1; i < 10; i++) --> soracağın soru sayısı
 {
 int sayi = rand.Next(50); --> soru havuzundaki soru sayısı
 if (Liste.IndexOf(sayi) != -1)   -> listenin içinden böyle bir sayı varmı arama yaptırıyor
 {
 i--;
 continue;
 }
 else
 {
 Liste.Add(sayi);
//burada ise ürettiğin sayıyı veritabanına bir sorgu yaparak üretilen sayıya eşit olan soru ID sini çekerek soruyu sordurabilirsin diye düşünüyorum. denemedim fakat bir dene birşey çıkarsa iletişim ulaşabilirsin. iyi çalışmalar.
 }
 }
 }
 

 

picture-7934-1439286305.jpg
tanerutku
16.11.2015 - 09:26

Sorular diye class oluşturduğunu varsayıyorum,

class'a boolen türünden bir değişken ekle sorulup sorulmadığını tutmak için. Eğer sorulduysa o soruyu gösterme farklı bir soru seç. O soruyu seçince de değişkeni true yap böylelikle tekrar çıkmasını engelleyebilirsin :)